package com.example.docking.dao.jindie.response;

import com.example.docking.dao.jindie.response.motaskbill.SubMaterialEntity;
import com.google.gson.annotations.SerializedName;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class MaterialEntity {
    //请求的
    private String material_id;//	true	商品
    private String unit_id;//	true	单位
    //采购申请的
    private Number apply_qty;//	true	申请数量
    private String delivery_date;//	true	交货日期
    //生产任务单的

    private String plan_commit_date;//	true	计划开工日期（格式：2019-01-01）
    private String plan_finish_date;//	true	计划完工日期（格式：2019-01-01）
    private List<SubMaterialEntity> sub_material_entity;//		false	材料分录

    //生产任务--销售订单
    private Number qty;//数量

    //销售的
    private boolean is_free;//	true	是否赠品
    //    private Number price;//	true	单价  销售订单单价是 number  todo
    private String price;//	false	单价 采购订单单价是字符串
    //响应的 销售订单
    private Number aux_qty;//	辅助单位数量
    private String aux_unit_id;//	辅助单位id
    //    private boolean is_free;//	是否赠品
    //    private String material_id;//	商品id
    //    private Number price;//	单价
    //    private Number qty;//	数量
    private String stock_id;//	仓库id
    private Number tax_price;//	含税单价
    //    private String unit_id;//	单位id
    private Number act_non_tax_amount;//	实际不含税金额
    private Number act_tax_price;//	实际含税单价
    private Number all_amount;//	价税合计
    private Number amount;//	金额
    private Number aux_coefficient;//	辅助换算率
    private String aux_id1;//	辅助属性1id
    private String aux_id2;//	辅助属性2id
    private String aux_id3;//	辅助属性3id
    private String aux_name1;//	辅助属性1名称
    private String aux_name2;//	辅助属性2名称
    private String aux_name3;//	辅助属性3名称
    private String aux_number1;//	辅助属性1编码
    private String aux_number2;//	辅助属性2编码
    private String aux_number3;//	辅助属性3编码
    private String aux_prop_id;//	辅助属性id
    private String aux_prop_name;//	辅助属性名称
    private String aux_prop_number;//	辅助属性编码
    private String aux_unit_name;//	辅助单位名称
    private String aux_unit_number;//	辅助单位编码
    private String barcode;//	条形码
    private Number base_qty;//	基本数量
    private String base_unit_id;//	基本单位id
    private String base_unit_name;//	基本单位名称
    private String base_unit_number;//	基本单位编码
    private String batch_no;//	批次号
    private String bill_dis_before_amount;//	单据整单折前价税合计
    private Number bill_dis_distribution;//	整单折扣分配额
    private Number cess;//	增值税率
    private Number coefficient;//	换算率
    private String comment;//行备注
    private String conversion_rate;//	换算公式
    private Number cost;//	成本
    private Number cur_settle_amount;//	本次核销金额
    private String cus_bill_no;//	客户订单号
    private Map<String, String> custom_entity_field;//	自定义字段使用指南
    //    private String delivery_date;//	预计交货日期
    private Number dis_amount;//	折扣额
    private Number dis_price;//	折扣单价
    private Number dis_rate;//	折算率
    private Number discount;//	折扣
    private Number divide_diff_amount;//	优惠分摊金额
    private String entry_settle_status;//	分录核销状态，未收款：A，部分收款：B，全部收款：C
    private Number fee;//	销售费用分摊
    private String id;//	商品分录id
    private Number inv_base_qty;//	基本库存数量
    private Number inv_qty;//	库存数量
    private String kf_date;//	生产日期
    private Integer kf_period;//	保质期天数
    private String kf_type;//	保质期类型，1：天，2：月，3：年
    private String material_help_code;//	商品助记码
    private boolean material_is_asst_attr;//	商品是否启用辅助属性
    private boolean material_is_batch;//	商品是否开启批次
    private boolean material_is_kf_period;//	商品是否开启保质期
    private boolean material_is_multi_unit;//	商品是否多单位
    private boolean material_is_serial;//	商品是否序列号
    private String material_model;//	商品规格
    private String material_name;//	商品名称
    private String material_number;//	商品编码
    private Number out_base_qty;//	已执行基本单位数量
    private Number out_qty;//	行已执行数量
    private String outside_material_number;//	外部商品编码
    private String outside_material_unit;//	外部商品单位
    private String picture;//	图片url
    private Number pre_dis_amount;//	折前金额
    private String pro_license;//	生产许可证号
    private String pro_place;//	产地
    private String pro_reg_no;//	注册证号
    private Number real_out_qty;//	行执行已出库数量
    private Number real_un_out_qty;//	行执行未出库数量
    private Number return_qty;//	退货基本数量
    private Number return_qty_unit;//	退货数量
    private Integer seq;//	分录序号
    private String sn_list;//	序列号 格式：001:备注1
    private String sn_list_id;//	序列号流转ID
    private String sp_id;//	仓位id
    private String sp_name;//	仓位名称
    private String sp_number;//	仓位编码
    private String src_bill_date;//	源单日期
    private String src_bill_no;//	源单id
    private String src_bill_type_id;//	源单类型id
    private String src_bill_type_name;//	源单类型名称
    private String src_bill_type_number;//	源单类型编码
    private String src_entry_id;//	源单分录id
    private String src_inter_id;//	源单id
    private String src_order_id;//	源单id
    //    private Integer src_seq;//	源单行号  生产任务单里面是字符串  销售订单返回是integer  todo 采购申请单 integer
    private boolean stock_is_allow_freight;//	仓库启用仓位管理
    private String stock_name;//	仓库名称
    private String stock_number;//	仓库编码
    private Number tax_amount;//	税额
    private Number un_out_qty;//	行未执行数量
    private Number unit_cost;//	单位成本 入库单位成本
    private String unit_name;//	单位名称
    private String unit_number;//	单位编码
    private String valid_date;//	有效日期
    //响应的 生产任务单
    private String auto_close_time;//	行关闭时间
    private String aux1_id;//		辅助属性1ID
    private String aux1_name;//		辅助属性1名称
    private String aux1_number;//		辅助属性1编码
    private String aux2_id;//		辅助属性2ID
    private String aux2_name;//		辅助属性2名称
    private String aux2_number;//		辅助属性2编码
    private String aux3_id;//		辅助属性3ID
    private String aux3_name;//		辅助属性3名称
    private String aux3_number;//		辅助属性3编码
    private String aux4_id;//		辅助属性4ID
    private String aux4_name;//		辅助属性4名称
    private String aux4_number;//		辅助属性4编码
    private String aux5_id;//		辅助属性5ID
    private String aux5_name;//		辅助属性5名称
    private String aux5_number;//		辅助属性5编码
    //    private Number aux_coefficient;//		辅助换算率
//    private Number aux_qty;//		辅助数量
//    private String aux_unit_id;//		辅助单位ID
//    private String aux_unit_number;//		辅助单位编码
    private String aux_unit_type;//	辅助单位类型
    private String auxprop_id;//		辅助属性ID
    private String auxprop_name;//		辅助属性名称
    private String auxprop_sku_export;//		SKU编码
    private String auxpropid_number;//		辅助属性编码
    private String auxunitid_name;//		辅助单位名称
    //    private String barcode;//		条形码
//    private Number base_qty;//		基本数量
//    private String base_unit_id;//		基本单位ID
//    private String base_unit_name;//		基本单位名称
//    private String base_unit_number;//		基本单位编码
//    private String batch_no;//		生产批次
    private String bom_id;//		bomid
    private String bom_number;//		BOM编码
    private Number caculate_coefficient;//		计算的浮动换算率
    private String closestate;//		行完工状态： 0-已关闭 1-未关闭 2-手动关闭
    //    private Number coefficient;//		换算率
//    private String comment;//		商品行备注
//    private String conversion_rate;//		换算公式
//    private Map<String, String> custom_entity_field;//		自定义字段使用指南
    private String customer_id;//		客户id
    private String customer_name;//		客户名称
    private String customer_number;//		客户编码
    private Number deffloat_qty;//		浮动基本数量
    private String deffloat_unit_id;//		浮动基本单位ID
    private String deffloat_unit_name;//		浮动基本单位名称
    private String deffloat_unit_number;//		浮动基本单位编码
    private String entry_ios_tatus;//		行执行状态： A-未执行 Z-部分执行 C-全部执行
    private String entry_realio_status;//		行入库状态： A-未入库 Z-部分入库 C-全部入库
    private String entry_status;//		行状态： Z-未关闭 C-已关闭
    private Number exp_valid_qty;//		预计可用库存
    private String gross_weight;//		毛重
    private String hclose_qty;//		手工关闭数量
    //    private String id;//		产品分录ID
    private Number in_base_qty;//	已执行基本单位入库数量
    private Number in_base_qty2;//		已执行基本单位数量2
    private Number in_deffloat_qty;//		已执行默认浮动单位数量
    private Number in_deffloat_qty2;//		已执行默认浮动单位数量2
    private Number in_qty;//		已执行入库数量
    private Number in_qty2;//		已执行入库数量2
    private Number input_coefficient;//		换算率
    private Number instant_qty;//		即时库存
    private Number inv_baseqty;//		基本库存数量
    private Number inv_baseqty2;//		基本可用库存
    //    private Number inv_qty;//		可用库存
    private String is_main;//		是否主商品： 1 是 0 否
    private boolean is_sub;//		商品是否子件
    private Number key_base_qty;//		关键件基本单位已领套数
    private Number key_qty;//		关键件已领套数
    private String kfdate;//		生产日期
    private Integer kfperiod;//		保质期
    private String kftype;//		保质期单位： 1-天 2-月 3-年
    //    private String material_id;//		商品编码ID
//    private String material_model;//		规格型号
//    private String material_name;//		商品编码名称
//    private String material_number;//		商品编码编码
    private Number net_weight;//		净重
    private String out_stock_status;//		行领料执行状态： A-未执行 Z-部分执行 C-全部执行
    @SerializedName("package")//与关键字冲突处理一下
    private String packageInfo;//		整件散包
    private Number picked_base_qty;//		基本单位已领套数
    private Number picked_qty;//		已领套数
    //    private String picture;//		商品图片
//    private String plan_commit_date;//		计划开工日期
//    private String plan_finish_date;//		计划完工日期
//    private String pro_license;//		生产许可证
//    private String pro_place;//		产地
//    private String pro_reg_no;//		注册证号
//    private Number qty;//		数量
    private Number real_in_baseqty;//		基本单位入库数量
    private Number real_in_qty;//		已入库数量
    private String real_out_stock_status;//		行领料状态： A-未领料 Z-部分领料 C-全部领料
    private Number real_unin_qty;//	已执行未入库数量
    private Number return_base_qty;//	基本单位已退库数量
    private Number return_baseq_qty2;//	基本单位已退库数量2
    private Number return_deffloat_qty2;//	已退库默认浮动单位数量2
    //    private Number return_qty;//	已退库数量
    private Number return_qty2;//	已退库数量
    private Number returndeffloatqty;//	已退库默认浮动单位数量
    private String sale_order_no;//		销售订单号
    //    private Integer seq;//		分录行号
//    private String sp_id;//		仓位ID
//    private String sp_name;//		仓位名称
//    private String sp_number;//		仓位编码
//    private String src_bill_no;//		源单单号
//    private String src_entry_id;//		源单分录id
//    private String src_inter_id;//		源单id
    private String src_order_entry_id;//		销售订单分录内码
    private String src_order_entry_seq;//		销售订单行号
    private String src_orderinter_id;//		销售订单内码
    //    private Integer src_seq;//		源单行号
//    private String stock_id;//		仓库ID
//    private String stock_name;//		仓库名称
//    private String stock_number;//		仓库编码
//    private List<SubMaterialEntity> sub_material_entity;//	材料分录
    private Number un_io_inqty;//		未执行入库数量
    private Number unin_qty;//		未入库数量
    //    private String unit_id;//		单位ID
//    private String unit_name;//		单位名称
//    private String unit_number;//		单位编码
    private String unit_type;//		单位类型
    //    private String valid_date;//		到期日
    private Number volume;//		体积
    private String volume_unit_id;//		体积单位ID
    private String volume_unit_name;//		体积单位名称
    private String volume_unit_number;//		体积单位编码
    private String weight_unit_id;//		重量单位ID
    private String weight_unit_name;//		重量单位名称
    private String weight_unit_number;// 	重量单位编码

    //响应的 商品信息
    private String issue_pattern;//	发料方式D：直接领料 A：倒冲领料 B：不领料
    private String dosage_numerator;//		材料用量
    //    private String material_id;//		子料ID
    private String material_unit_id;//		单位ID
    //    private String aux1_id;//		属性组1ID
//    private String aux2_id;//		属性组2ID
//    private String aux3_id;//		属性组3ID
//    private String aux4_id;//		属性组4ID
//    private String aux5_id;//		属性组5ID
//    private Map<String, String> custom_entity_field;//		自定义字段使用指南
    private String custom_txt1;//		物料备注1
    private String custom_txt2;//		物料备注2
    private String custom_txt3;//		物料备注3
    private String dosage_denominator;//		产品产量
    private Number fixed_loss;//		固定损耗
    //    private String id;//		分录ID
    private String iskeypieces;//		关键件1：是0：否
    private String isrepitem;//		替代件1：是0：否
    private String machinepos;//		工位
    private String material_auxprop_id;//		辅助属性ID
    private String material_baseunit_id;//		基本单位ID
    //    private String material_name;//		子料名称
//    private String material_number;//		子料编码
    private String material_remark;//		物料备注
    private Number scrap;//		损耗率%
    //    private Number seq;//		分录行号
//    private String sp_id;//		发料仓位id
//    private String sp_name;//		发料仓位名称
//    private String sp_number;//		发料仓位编码
//    private String stock_id;//		发料仓库id
//    private String stock_name;//		发料仓库名称
//    private String stock_number;//		发料仓库编码
    private Number unitqty;//	单位用量
    private String act_non_tax_price;//	false	实际不含税单价
    private Number def_float_qty;//辅助基本数量 采购申请单的
    private String io_status;// 入库状态（所有：“”，全部入库：“A”，部分入库：“P”，未入库：“N”）采购申请单的
    private String ordered_qty;//已订购数量 采购申请单的
    private Number un_in_qty;//未入库数量 采购申请单的
    private String unordered_qty;//未订购数量 采购申请单的

    //材料入库：

    private String aux_id4;//string	false	辅助属性3id
    private String aux_id5;//string	false	辅助属性3id
    private String is_con_sum_able;// string	false	共耗材料，0：是，1：否
    private String src_order_bill_no;//string	false	销售订单单号
    private String src_order_seq;//integer	false	销售订单行号
    private String src_product_entry_id;//	string	false	源单产品分录id,源单为生产任务单时对应于商品分录id

}
